package com.yida.gwj.expend.domain.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.gwj.common.enums.StepConfigInfoEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 公维金资金申请业务信息Request
 *
 * @author liangp
 * @date 2023-02-08
 */
@ApiModel(description = "公维金资金申请业务信息")
public class GwjMaintenanceFundsBusinessRequest {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long bizId;

    /**
     * 业务编码
     */
    @ApiModelProperty(value = "业务编码")
    private Long bizNum;

    /**
     * 业务标识表ID
     */
    @ApiModelProperty(value = "业务标识表ID")
    private Integer bizFlagId;

    /**
     * 文件业务标识
     */
    @ApiModelProperty(value = "文件业务标识")
    private String serverIdentification;

    /**
     * 外部业务标识
     */
    @ApiModelProperty(value = "外部业务标识")
    private String outServerIdentification;

    /**
     * 流程ID
     */
    @ApiModelProperty(value = "流程ID")
    private Long flowId;

    /**
     * 当前步骤ID
     *
     * @see StepConfigInfoEnum
     */
    @ApiModelProperty(value = "当前步骤ID")
    private Long stepId;

    /**
     * 地区ID
     */
    @ApiModelProperty(value = "地区ID")
    private Long areaId;

    /**
     * 业务名称
     */
    @ApiModelProperty(value = "业务名称")
    private String bizName;

    /**
     * 小区地址
     */
    @ApiModelProperty(value = "小区地址")
    private String address;
    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话")
    private String phone;

    /**
     * 当前办事人员(cluser)
     */
    @ApiModelProperty(value = "当前办事人员(cluser)")
    private Long currentOperId;

    /**
     * 当前办事人员名称
     */
    @ApiModelProperty(value = "当前办事人员名称")
    private String currentOperName;

    /**
     * 申请人员Id
     */
    @ApiModelProperty(value = "申请人员Id")
    private Long applicantUserId;

    /**
     * 申请人员名称(sqren)
     */
    @ApiModelProperty(value = "申请人员名称(sqren)")
    private String applicantUserName;

    /**
     * 申请时间（applytime）
     */
    @ApiModelProperty(value = "申请时间")
    private LocalDateTime applicantTime;

    /**
     * 业务状态  1:正常，2:回退，3:完结
     */
    @ApiModelProperty(value = "业务状态  1:正常，2:退件，3:完结")
    private Integer status;

    /**
     * 是否显示二次补件信息 0.否 1.是
     */
    @ApiModelProperty(value = "是否显示二次补件信息 0.否 1.是")
    private Integer supplementFlag;

    /**
     * 联系人(lianxiren)
     */
    @ApiModelProperty(value = "联系人(lianxiren)")
    private String contacts;

    /**
     * 有效时间(validdate)
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "有效时间(validdate)")
    private Date validDate;

    /**
     * 申请报告
     */
    @ApiModelProperty(value = "申请报告")
    private String applicationReport;

    /**
     * 业主征求意见
     */
    @ApiModelProperty(value = "业主征求意见")
    private String ownerComments;

    /**
     * 业主确认证明
     */
    @ApiModelProperty(value = "业主确认证明")
    private String ownerConfirmationCertificate;

    /**
     * 维修和更新、改造方案
     */
    @ApiModelProperty(value = "维修和更新、改造方案")
    private String transformationPlan;

    /**
     * 项目竣工时间(endtime)
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "项目竣工时间(endtime)")
    private Date completedTime;

    /**
     * 类型 1:预受理 2:正式受理
     */
    @ApiModelProperty(value = "类型 1:预受理 2:正式受理")
    private int type;

    /**
     * 建档编号
     */
    @ApiModelProperty(value = "建档编号")
    private String archiveNum;

    @ApiModelProperty(value = "受理时间")
    private LocalDateTime acceptTime;

    public String getServerIdentification() {
        return serverIdentification;
    }

    public void setServerIdentification(String serverIdentification) {
        this.serverIdentification = serverIdentification;
    }

    public Integer getSupplementFlag() {
        return supplementFlag;
    }

    public void setSupplementFlag(Integer supplementFlag) {
        this.supplementFlag = supplementFlag;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Long getBizId() {
        return bizId;
    }

    public void setBizId(Long bizId) {
        this.bizId = bizId;
    }

    public Long getBizNum() {
        return bizNum;
    }

    public void setBizNum(Long bizNum) {
        this.bizNum = bizNum;
    }

    public Integer getBizFlagId() {
        return bizFlagId;
    }

    public void setBizFlagId(Integer bizFlagId) {
        this.bizFlagId = bizFlagId;
    }

    public Long getFlowId() {
        return flowId;
    }

    public void setFlowId(Long flowId) {
        this.flowId = flowId;
    }

    public Long getStepId() {
        return stepId;
    }

    public void setStepId(Long stepId) {
        this.stepId = stepId;
    }

    public Long getAreaId() {
        return areaId;
    }

    public void setAreaId(Long areaId) {
        this.areaId = areaId;
    }

    public String getBizName() {
        return bizName;
    }

    public void setBizName(String bizName) {
        this.bizName = bizName;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public Long getCurrentOperId() {
        return currentOperId;
    }

    public void setCurrentOperId(Long currentOperId) {
        this.currentOperId = currentOperId;
    }

    public String getCurrentOperName() {
        return currentOperName;
    }

    public void setCurrentOperName(String currentOperName) {
        this.currentOperName = currentOperName;
    }

    public Long getApplicantUserId() {
        return applicantUserId;
    }

    public void setApplicantUserId(Long applicantUserId) {
        this.applicantUserId = applicantUserId;
    }

    public String getApplicantUserName() {
        return applicantUserName;
    }

    public void setApplicantUserName(String applicantUserName) {
        this.applicantUserName = applicantUserName;
    }

    public LocalDateTime getApplicantTime() {
        return applicantTime;
    }

    public void setApplicantTime(LocalDateTime applicantTime) {
        this.applicantTime = applicantTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getContacts() {
        return contacts;
    }

    public void setContacts(String contacts) {
        this.contacts = contacts;
    }

    public Date getValidDate() {
        return validDate;
    }

    public void setValidDate(Date validDate) {
        this.validDate = validDate;
    }

    public String getApplicationReport() {
        return applicationReport;
    }

    public void setApplicationReport(String applicationReport) {
        this.applicationReport = applicationReport;
    }

    public String getOwnerComments() {
        return ownerComments;
    }

    public void setOwnerComments(String ownerComments) {
        this.ownerComments = ownerComments;
    }

    public String getOwnerConfirmationCertificate() {
        return ownerConfirmationCertificate;
    }

    public void setOwnerConfirmationCertificate(String ownerConfirmationCertificate) {
        this.ownerConfirmationCertificate = ownerConfirmationCertificate;
    }

    public String getTransformationPlan() {
        return transformationPlan;
    }

    public void setTransformationPlan(String transformationPlan) {
        this.transformationPlan = transformationPlan;
    }

    public Date getCompletedTime() {
        return completedTime;
    }

    public void setCompletedTime(Date completedTime) {
        this.completedTime = completedTime;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public String getArchiveNum() {
        return archiveNum;
    }

    public void setArchiveNum(String archiveNum) {
        this.archiveNum = archiveNum;
    }

    public LocalDateTime getAcceptTime() {
        return acceptTime;
    }

    public void setAcceptTime(LocalDateTime acceptTime) {
        this.acceptTime = acceptTime;
    }

    public String getOutServerIdentification() {
        return outServerIdentification;
    }

    public void setOutServerIdentification(String outServerIdentification) {
        this.outServerIdentification = outServerIdentification;
    }

    @Override
    public String toString() {
        return "GwjMaintenanceFundsBusiness{" +
                "bizId=" + bizId +
                ", bizNum=" + bizNum +
                ", bizFlagId=" + bizFlagId +
                ", serverIdentification='" + serverIdentification + '\'' +
                ", outServerIdentification='" + outServerIdentification + '\'' +
                ", flowId=" + flowId +
                ", stepId=" + stepId +
                ", areaId=" + areaId +
                ", bizName='" + bizName + '\'' +
                ", address='" + address + '\'' +
                ", phone='" + phone + '\'' +
                ", currentOperId=" + currentOperId +
                ", currentOperName='" + currentOperName + '\'' +
                ", applicantUserId=" + applicantUserId +
                ", applicantUserName='" + applicantUserName + '\'' +
                ", applicantTime=" + applicantTime +
                ", status=" + status +
                ", supplementFlag=" + supplementFlag +
                ", contacts='" + contacts + '\'' +
                ", validDate=" + validDate +
                ", applicationReport='" + applicationReport + '\'' +
                ", ownerComments='" + ownerComments + '\'' +
                ", ownerConfirmationCertificate='" + ownerConfirmationCertificate + '\'' +
                ", transformationPlan='" + transformationPlan + '\'' +
                ", completedTime=" + completedTime +
                ", type=" + type +
                ", archiveNum='" + archiveNum + '\'' +
                ", acceptTime=" + acceptTime +
                '}';
    }
}
